package com.ruoyi.system.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 医保基金-报销申请对象 reimbursement_application
 * 
 * @author ruoyi
 * @date 2025-04-13
 */
@ApiModel(value = "ReimbursementApplication", description = "医保基金-报销申请对象")
public class ReimbursementApplication extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 序号 */
    private Long id;

    /** 参保人 */
    @ApiModelProperty(name = "参保人")
    private Long insuredPerson;

    /** 参保人 */
    private InsuredPersons insuredPersons;

    /** 身份证号 */
    @ApiModelProperty(name = "身份证号")
    private String idCard;

    /** 医疗机构 */
    @ApiModelProperty(name = "医疗机构")
    private String medicalInstitution;

    /** 批准时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @ApiModelProperty(name = "批准时间")
    private Date approvalTime;

    /** 报销金额 */
    @ApiModelProperty(name = "报销金额")
    private BigDecimal reimbursementAmount;

    /** 状态('0-待处理', '1-已转账') */
    @ApiModelProperty(name = "状态('0-待处理', '1-已转账')")
    private Long status;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }

    public InsuredPersons getInsuredPersons() {
        return insuredPersons;
    }

    public void setInsuredPersons(InsuredPersons insuredPersons) {
        this.insuredPersons = insuredPersons;
    }

    public void setInsuredPerson(Long insuredPerson)
    {
        this.insuredPerson = insuredPerson;
    }

    public Long getInsuredPerson() 
    {
        return insuredPerson;
    }

    public void setIdCard(String idCard) 
    {
        this.idCard = idCard;
    }

    public String getIdCard() 
    {
        return idCard;
    }

    public void setMedicalInstitution(String medicalInstitution) 
    {
        this.medicalInstitution = medicalInstitution;
    }

    public String getMedicalInstitution() 
    {
        return medicalInstitution;
    }

    public void setApprovalTime(Date approvalTime) 
    {
        this.approvalTime = approvalTime;
    }

    public Date getApprovalTime() 
    {
        return approvalTime;
    }

    public void setReimbursementAmount(BigDecimal reimbursementAmount) 
    {
        this.reimbursementAmount = reimbursementAmount;
    }

    public BigDecimal getReimbursementAmount() 
    {
        return reimbursementAmount;
    }

    public void setStatus(Long status) 
    {
        this.status = status;
    }

    public Long getStatus() 
    {
        return status;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("insuredPerson", getInsuredPerson())
            .append("idCard", getIdCard())
            .append("medicalInstitution", getMedicalInstitution())
            .append("approvalTime", getApprovalTime())
            .append("reimbursementAmount", getReimbursementAmount())
            .append("status", getStatus())
            .toString();
    }
}
